#ifndef __BOARD_H
#define __BOARD_H

//----------------------------------Include-------------------------------------
#include "brd_misc.h"
//------------------------------------------------------------------------------
#include "brd_sdram.h"
//------------------------------------------------------------------------------

//MIMXRT1052CVL5B
//CPU:  528MHz (overclock to 600MHz)
//SRAM: 512KB  (I-TCM and D-TCM in total)
//L1 Instruction Cache: 32KB
//L1        Data Cache: 32KB
//BootROM:  96KB

//Code QSPI-Flash(W25Q64) :  8MB @FlexSPI
//Data  SPI-Flash(W25Q256): 32MB @SPI3
//EEPROM(24C02):      256B @I2C1
//SDRAM(W9825G6KH):   32MB @SEMC (SDRAM-166MHz, actually 150MHz)

//------------------------------------------------------------------------------
//ITCM
//0000_0000 ~ 0007_FFFF   (512KB)

//ROMCP
//0020_0000 ~ 0021_7FFF   (128KB)

//FlexSPI(Aliased)
//0800_0000 ~ 0FFF_FFFF   (128MB)

//SEMC(Aliased)
//1000_0000 ~ 1FFF_FFFF   (256MB)

//DTCM
//2000_0000 ~ 2007_FFFF   (512KB)

//OCRAM
//2020_0000 ~ 2027_FFFF   (512KB)

//AIPS-1/2/3/4
//4000_0000 ~ 400F_FFFF   (1MB)
//4010_0000 ~ 401F_FFFF   (1MB)
//4020_0000 ~ 402F_FFFF   (1MB)
//4030_0000 ~ 403F_FFFF   (1MB)

//FlexSPI / FlexSPI ciphertext
//6000_0000 ~ 7F7F_FFFF   (504MB)

//SEMC external memories (SDRAM, NOR, PSRAM, NAND and 8080) shared memory space
//8000_0000 ~ DFFF_FFFF   (1.5GB)

//Cortex-M7 PPB
//E000_0000 ~ E00F_FFFF


//ram     工程：程序（code/RO）存储在 ITCM 里面，数据（RW+ZI）存储在 OCRAM 里面。该工程只可以用于仿真，不能下载
//sdram   工程：程序（code/RO）存储在 ITCM 里面，数据（RW+ZI）存储在 SDRAM 里面。该工程只可以用于仿真，不能下载
//flexspi 工程：程序（code/RO）存储在 SPI FLASH 里面（W25Q64），数据（RW+ZI）存储在 OCRAM 里面。可以用于仿真，也可以下载到 SPI FLASH。

//ram 和 sdram 工程，调试不要勾选 Update Target before Debugging （在进入仿真之前，先更新目标代码），否则无法仿真

//如果不在 SDRAM 中调试（ram 和 flexspi 工程），则需要在代码里初始化 SDRAM ， 即 ram 和 flexspi 工程需要初始化 SDRAM
//如果在 SDRAM 中调试（sdram工程），则不能在代码里面初始化 SDRAM ，其初始化会在文件 rt1052_sdram.ini 中完成，代码里再初始化一次可能会导致SDRAM中的数据丢失

#endif
//------------------------------------EOF---------------------------------------
















